Locating a WLAN station using signal propagation delay

ABSTRACT

A wireless network device including: a first RF transceiver module configured to (i) for a predetermined number of times, transmit a data frame to a second RF transceiver module, and (ii) for each data frame transmitted to the second RF transceiver module, receive an acknowledgement frame from the second RF transceiver module after a respective delay period; a timing module configured to generate a timer value corresponding to an accumulated delay period, wherein the accumulated delay period corresponds to each of the respective delay periods; and a control module configured to (i) determine the predetermined number of times that the first RF transceiver transmitted the data frame to the second RF transceiver based on a resolution of the timing module, and, (ii) determine an actual delay period based on (a) the timer value and (b) the predetermined number of times.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.12/006,085, filed Dec. 28, 2007, which claims priority under 35 U.S.C.§119(e) to U.S. Provisional Application No. 60/882,246, filed on Dec.28, 2006. The disclosures of the applications referenced above areincorporated herein by reference.

This application relates to co-pending U.S. patent application Ser. No.11/085,761, filed on Mar. 21, 2005. The disclosure of the aboveapplication is incorporated herein by reference in its entirety.

FIELD

The present disclosure relates to wireless networks, and moreparticularly to locating a client station of a wireless network usingsignal propagation delay.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11h, 802.11n,802.16, and 802.20, which are hereby incorporated by reference in theirentirety, define several different standards for configuring wirelessnetworks and devices. According to these standards, wireless networkdevices may be operated in either an infrastructure mode or an ad-hocmode. In the infrastructure mode, wireless network devices of clientstations communicate with each other through a wireless network deviceof an access point (AP). In the ad-hoc mode, wireless network devices ofclient stations communicate directly with each other and do not employ awireless network device of an access point. The term client station, ormobile station, may not necessarily mean that a wireless network deviceis actually mobile. For example, a desktop computer that is not mobilemay incorporate a wireless network device and operate as a clientstation or a mobile station.

Certain performance and/or security functions of a wireless networkdevice may depend on location of the wireless network device (either anaccess point or a client station) with respect to other wireless networkdevices. For example, an access point may impose restraints on a clientstation when the client station is outside certain physical boundaries(e.g., for security purposes). The access point may provide the clientstation location-specific services, and/or the client station mayprovide its location for roaming decisions, maps, and points ofinterest.

SUMMARY

A wireless network device including: a first RF transceiver moduleconfigured to (i) for a predetermined number of times, transmit a dataframe to a second RF transceiver module, and (ii) for each data frametransmitted to the second RF transceiver module, receive anacknowledgement frame from the second RF transceiver module after arespective delay period; a timing module configured to generate a timervalue corresponding to an accumulated delay period, wherein theaccumulated delay period corresponds to each of the respective delayperiods; and a control module configured to (i) determine thepredetermined number of times that the first RF transceiver transmittedthe data frame to the second RF transceiver based on a resolution of thetiming module, and, (ii) determine an actual delay period based on (a)the timer value and (b) the predetermined number of times.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. It shouldbe understood that the detailed description and specific examples areintended for purposes of illustration only and are not intended to limitthe scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a functional block diagram of an exemplary wireless networkthat is configured in an infrastructure mode and that includes one ormore client stations and one or more access points (AP) according to thepresent disclosure;

FIG. 2 is a functional block diagram of an exemplary wireless networkdevice of either the client stations or the AP's according to thepresent disclosure;

FIG. 3 is a timing diagram that illustrates exemplary transmissionsequences between the wireless network device and another wirelessnetwork device according to the present disclosure;

FIG. 4 is a flowchart that illustrates exemplary steps performed by acontrol module of the wireless network device to determine a distancebetween the wireless network device and another wireless network devicebased on signal propagation delay according to the present disclosure;

FIG. 5 is a functional block diagram of an exemplary wireless networkthat locates a client station using signal propagation delay accordingto the present disclosure;

FIG. 6 is a flowchart that illustrates exemplary steps performed by thecontrol module of the wireless network device to locate the clientstation using signal propagation delay according to the presentdisclosure;

FIG. 7A is a functional block diagram of a hard disk drive;

FIG. 7B is a functional block diagram of a DVD drive;

FIG. 7C is a functional block diagram of a high definition television;

FIG. 7D is a functional block diagram of a vehicle control system;

FIG. 7E is a functional block diagram of a cellular phone;

FIG. 7F is a functional block diagram of a set top box; and

FIG. 7G is a functional block diagram of a mobile device.

DETAILED DESCRIPTION

The following description is merely exemplary in nature and is in no wayintended to limit the disclosure, its application, or uses. For purposesof clarity, the same reference numbers will be used in the drawings toidentify similar elements. As used herein, the phrase at least one of A,B, and C should be construed to mean a logical (A or B or C), using anon-exclusive logical or. It should be understood that steps within amethod may be executed in different order without altering theprinciples of the present disclosure.

As used herein, the term module refers to an Application SpecificIntegrated Circuit (ASIC), an electronic circuit, a processor (shared,dedicated, or group) and memory that execute one or more software orfirmware programs, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality.

To locate a wireless network device of a wireless network, the wirelessnetwork device according to the present disclosure uses signalpropagation delay. A wireless network operating in either aninfrastructure mode or an ad hoc mode may implement the wireless networkdevice as described herein.

Referring now to FIG. 1, an exemplary wireless network 10 is shown in aninfrastructure mode as defined by IEEE 802.11 and other future wirelessstandards. The wireless network 10 includes one or more client stations12 and one or more access points (AP) 14. Each of the client station 12and the AP 14 includes a wireless network device 16. The client station12 and the AP 14 transmit and receive wireless signals 18.

The AP 14 is a node in a network 20. The network 20 may be a local areanetwork, a wide area network, or another network configuration. Thenetwork 20 may include other nodes such as a server 22 and may beconnected to a distributed communications system 24, such as theInternet.

Referring now to FIG. 2, the wireless network device 16 (e.g., of eitherthe client station 12 or the AP 14) is shown. The wireless networkdevice 16 includes a system on chip (SOC) 102 and a radio frequency (RF)transceiver module 104. The SOC 102 includes a baseband processor (BBP)module 106, a media access control (MAC) module 108, and other SOCcomponents, identified collectively at 110, including interfaces, memoryand/or processors. The RF transceiver module 104 and the BBP module 106communicate with the MAC module 108.

The RF transceiver module 104 receives the wireless signals 18. The BBPmodule 106 receives the wireless signals 18 from the RF transceivermodule 104 and converts the wireless signals 18 from analog signals todigital signals. The BBP module 106 demodulates the digital signals. TheMAC module 108 receives the demodulated digital signals.

The MAC module 108 sends data signals to the BBP module 106. The BBPmodule 106 converts the data signals from digital signals to analogsignals and modulates the analog signals. The RF transceiver module 104receives the analog modulated signals and transmits the modulated analogsignals as the wireless signals 18.

The RF transceiver module 104 includes a timing module 112, a controlmodule 114, and other RF transceiver components, identified collectivelyat 116, including receivers, transmitters, and other standardcomponents. The timing module 112 and the control module 114 may belocated within the RF transceiver module 104 or at other locations, suchas within the MAC module 108, for example. The RF transceiver module 104transmits and receives the wireless signals 18 to and from an RFtransceiver module of another wireless network device 118. The controlmodule 114 determines a signal propagation delay between the RFtransceiver module 104 and the wireless network device 118 based on aperiod elapsed during transmission and reception of the wireless signals18. The control module 114 determines a location of the wireless networkdevice 16 based on the signal propagation delay as described herein inmore detail.

The RE transceiver module 104 starts a transmission sequence when the RFtransceiver module 104 starts to transmit the data frame to the wirelessnetwork device 118, and the timing module 112 increments accordingly.For example, the timing module 112 may include a timer that isinitialized to zero and begins to increment when the RF transceivermodule 104 starts the transmission sequence. The timing module 112generates a timer value based on the timer. For example only, the dataframe may be an 802.11 null data frame. For example only, the data framemay be transmitted and received at a data rate of 54 megabit per secondand may be of any predetermined frame length.

The wireless network device 118 receives the data frame after a delayperiod and a predetermined data receiving period. The delay period is aperiod elapsed from when the RF transceiver module 104 starts totransmit the data frame to when the wireless network device 118 startsto receive the data frame. The data receiving period is a period elapsedfrom when the wireless network device 118 starts to receive the dataframe to when the wireless network device 118 finishes receiving thedata frame. The wireless network device 118 is assigned a predeterminedshort inter-frame space (SIFS) period that measures a period since thewireless network device 118 becomes free (e.g., is not receiving ortransmitting frames). The wireless network device 118 waits the SIFSperiod after receiving the data frame before starting to transmit anacknowledgment (ACK) frame to the RF transceiver module 104.

The RF transceiver module 104 receives the ACK frame after apredetermined ACK transmitting period and the delay period. The ACKtransmitting period is a period elapsed from when the wireless networkdevice 118 starts to transmit the ACK frame to when the wireless networkdevice 118 finishes transmitting the ACK frame. The delay period is aperiod elapsed from when the wireless network device 118 finishestransmitting the ACK frame to when the RF transceiver module 104finishes receiving the ACK frame. The RF transceiver module 104 isassigned the SIFS period that measures a period since the RF transceivermodule 104 becomes free. The RF transceiver module 104 waits the SIFSperiod after receiving the ACK frame before starting to transmit anotherdata frame. The control module 114 ends the transmission sequence afterthe RF transceiver module 104 waits the SIFS period.

The delay period is an unknown length of period based on the datareceiving period, the SIFS period, and the ACK transmitting period. Todetermine the delay period, the control module 114 determines a sequenceperiod based on the timer value when the transmission sequence iscompleted. The control module 114 determines the delay period based onthe sequence period, the data receiving period, the SIFS period, and theACK transmitting period. A delay period Delay is determined according tothe following equation:

$\begin{matrix}{{{Delay} = \frac{t_{seq} - {Data} - {A\; C\; K} - {2*S\; I\; F\; S}}{2}},} & (1)\end{matrix}$where t_(seq) is the sequence period, Data is the data receiving period,ACK is the ACK transmitting period, and SIFS is the SIFS period.

Accuracy of the delay period based on the sequence period may be limitedby a resolution of the timing module 112. For example, when the RFtransceiver module 104 is 1 meter (m) away from the wireless networkdevice 118, the delay period may be approximately 3.3 nanoseconds (ns).However, if the timing module 112 has a resolution of 10 ns, the timingmodule 112 does not have a sufficient resolution to accurately capturedelay times shorter than 10 ns.

The RF transceiver module 104 may repeat the transmission sequence toresolve inaccuracies. Repeating the transmission sequence allows the RFtransceiver module 104 to accumulate the delay period and to have theaccumulated delay period exceed the resolution. In addition,accumulating the delay period decreases an error of the delay period dueto the resolution.

The RF transceiver module 104 repeats the transmission sequence as longas a maximum error of the delay period due to the resolution exceeds apredetermined value. To determine the maximum error, the control module114 determines a number of times the transmission sequence is completed.The control module 114 initializes the number to zero before startingthe first transmission sequence.

The control module 114 increments the number each time that thetransmission sequence is completed. The control module 114 determinesthe maximum error based on the resolution and the number of times thetransmission sequence is completed. A maximum error Error_(max) isdetermined according to the following equation:

$\begin{matrix}{{{Error}_{\max} = \frac{Res}{n}},} & (2)\end{matrix}$where Res is the resolution and n is the number of times thetransmission sequence is completed.

For example, when the RF transceiver module 104 is 1 m away from thewireless network device 118, and the RF transceiver module 104 completesthe transmission sequence four times, an accumulated delay period may beapproximately 13.2 ns. If the timing module 112 has a resolution of 10ns, the timing module 112 does have a sufficient resolution to capturethe accumulated delay period. The control module 114 determines amaximum error of the delay period to be 2.5 ns. If the maximum errorexceeds the predetermined value, the RF transceiver module 104 repeatsthe transmission sequence another period.

If the RF transceiver module 104 repeats the transmission sequence todetermine the delay period, the control module 114 determines a totalperiod based on the timer value when an nth transmission sequence iscompleted. The control module 114 determines the delay period based onthe total period, the data receiving period, the SIFS period, the ACKtransmitting period, and the number of times the transmission sequenceis completed. A delay period Delay is determined according to thefollowing equation:

$\begin{matrix}{{{Delay} = \frac{{t_{total}/n} - {Data} - {A\; C\; K} - {2*S\; I\; F\; S}}{2}},} & (3)\end{matrix}$where t_(total) is the total period. After the control module 114determines the delay period, the control module 114 resets the timingmodule 112. For example, the control module 114 may reset the timer ofthe timing module 112 to zero when the control module 114 resets thetiming module 112.

Accumulated Delay Period Accumulated Due to Delay Period Resolution n(ns) (ns) Delay (ns) Error_(max) (ns) 2 16 10 5 5 4 32 30 7.5 2.5 8 6460 7.5 1.25 16 128 120 7.5 0.625 32 256 250 7.81 0.3125 64 512 510 7.960.156 128 1024 1020 7.968 0.078

An exemplary table of delay times and maximum errors of the delay timesare shown above. The table assumes that a delay period is 8 ns and aresolution of the timing module 112 is 10 ns. Repeating the transmissionsequence allows the RF transceiver module 104 to accumulate the delayperiod and to have the accumulated delay period exceed the resolution of10 ns.

However, the accumulated delay period is rounded off due to theresolution. This results in an error in the computed delay period.Further accumulating the delay period decreases the error of thecomputed delay period (i.e., the computed delay period is closer invalue to the delay period of 8 ns). In addition, accumulating the delayperiod decreases the maximum error of the delay period (i.e., themaximum error is closer in value to zero).

The control module 114 may determine an error percentage of a delayperiod of a transmission sequence due to the resolution of the timingmodule 112. The control module 114 determines the error percentage basedon the resolution, the number of times the transmission sequence iscompleted, and the delay period. An error percentage Error_(per) may bedetermined according to the following equation:|Error_(per)|≦(Res/(n*2*Delay)*100)%.  (4)

When the RF transceiver module 104 and the wireless network device 118are in line-of-sight (i.e., no reflection) operation, the control module114 determines a distance between the RF transceiver modules. Thecontrol module 114 determines the distance based on the delay period. Adistance Distance is determined according to the following equation:Distance=Delay*c,  (5)where c is the speed of light. The distance is used to locate the clientstation 12.

Determining the delay period based on predetermined values of the datareceiving period, the SIFS period, and the ACK transmitting period maybe inaccurate if hardware of the RF transceiver module 104 isinaccurate. For example only, the hardware may be inaccurate due toclock drift. To overcome inaccuracies, the data receiving period, theSIFS period, and the ACK transmitting period is calibrated for a knowndistance between the RF transceiver module 104 and the wireless networkdevice 118. The control module 114 determines the delay period forunknown distances between the RF transceivers based on the calibratedvalues instead of the predetermined values.

In yet another implementation, the number of times the transmissionsequence is completed is calibrated for the known distance between theRF transceiver module 104 and the wireless network device 118. Forexample only, the known distance may be a worse-case distance where thetiming module 112 does not have a sufficient resolution to accuratelycapture the delay period. The number of times the transmission sequenceis completed is calibrated to a value where the maximum error of thedelay period due to the resolution of the timing module 112 is withinacceptable limits. The control module 114 determines the delay periodfor unknown distances between the RF transceivers based on thecalibrated value instead of determining a value. The control module 114does not increment the number of times the transmission sequence iscompleted when the number is calibrated.

Referring now to FIG. 3, an exemplary timing diagram 200 illustrates thetransmission sequences between the RF transceiver module 104 and thewireless network device 118. The RF transceiver module 104 starts afirst sequence 202 and the timing module 112 increments accordingly. Thewireless network device 118 receives a data frame 204 after a delayperiod 206 and a data receiving period 208.

The wireless network device 118 is assigned a SIFS period 210 thatmeasures a period since the wireless network device 118 becomes free.The wireless network device 118 waits the SIPS period 210 afterreceiving the data frame 204 before starting to transmit an ACK frame212 to the RF transceiver module 104. The RF transceiver module 104receives the ACK frame 212 after the delay period 206 and an ACKtransmitting period 214.

The RF transceiver module 104 is assigned the SIFS period 210 thatmeasures a period since the RF transceiver module 104 becomes free. TheRF transceiver module 104 waits the SIFS period 210 after receiving theACK frame 212 before starting to transmit another data frame. Thecontrol module 114 ends the first sequence 202 after the RF transceivermodule 104 waits the SIFS period 210. To determine the delay period 206,the control module 114 determines the sequence period based on the timervalue when the first sequence 202 is completed. The control module 114determines the delay period 206 based on the sequence period, the datareceiving period 208, the SIPS period 210, and the ACK transmittingperiod 214.

The RF transceiver module 104 may repeat the first sequence 202. The RFtransceiver module 104 accumulates the delay period 206 as long as amaximum error of the delay period 206 due to the resolution of thetiming module 112 exceeds a predetermined value. To determine themaximum error, the control module 114 determines a number of times thefirst sequence 202 is completed.

The control module 114 initializes the number of times the firstsequence 202 is completed to zero before starting the first sequence202. The control module 114 increments the number each time that thefirst sequence 202 is completed. The control module 114 determines themaximum error based on the resolution and the number of times the firstsequence 202 is completed.

When the RF transceiver module 104 repeats the first sequence 202, todetermine the delay period 206, the control module 114 determines thetotal period based on the timer value when an nth sequence 216 iscompleted. The control module 114 determines the delay period 206 basedon the total period, the data receiving period 208, the SIFS period 210,the ACK transmitting period 214, and the number of times the firstsequence 202 is completed. After the control module 114 determines thedelay period, the control module 114 resets the timing module 112.

The control module 114 may determine an error percentage of a delayperiod of first sequence 202 due to the resolution of the timing module112. The control module 114 may determine the error percentage based onthe resolution, the number of times the first sequence 202 is completed,and the delay period 206. Assuming the RF transceiver module 104 and thewireless network device 118 are in line-of-sight (i.e., no reflection)operation, the control module 114 determines the distance between the RFtransceiver modules. The control module 114 determines the distancebased on the delay period 206. The distance is used to locate the clientstation 12.

Referring now to FIG. 4, a method 300 depicts exemplary steps performedby the control module 114 to determine the distance between the RFtransceiver module 104 and the wireless network device 118 based onsignal propagation delay (the delay period 206). Control starts in step302. In step 304, the number of times the first sequence 202 iscompleted is initialized to zero.

In step 306, the timing module 112 is started. In step 308, the RFtransceiver module 104 transmits the data frame 204. In step 310, the RFtransceiver module 104 receives the ACK frame 212.

In step 312, the RF transceiver module 104 waits the SIFS period 210. Instep 314, the number of times the first sequence 202 is completed isincremented. In step 316, the maximum error of the delay period 206 dueto the resolution of the timing module 112 is determined based on theresolution and the number of times the first sequence 202 is completed.

In step 318, control determines whether the maximum error is greaterthan a limit value (the predetermined value). If true, control continuesin step 308. If false, control continues in step 320.

In step 320, the total period is determined. In step 322, the delayperiod 206 is determined based on the total period and the number oftimes the first sequence 202 is completed. In step 324, the timingmodule 112 is reset. In step 326, where the distance between the RFtransceiver module 104 and the wireless network device 118 is determinedbased on the delay period 206. Control ends in step 328.

Referring now to FIG. 5, an exemplary wireless network 400 is shown. Thewireless network 400 includes a client station 402 and access points404-1, 404-2, and 404-3 (referred to collectively as access points 404).The client station 402 uses signal propagation delay (a delay period) tolocate itself.

The access points 404 each broadcasts their coordinates as aninformation element in 802.11 beacons and probe responses. For exampleonly, the coordinates of each of the access points 404 may be configuredbased on their own respective coordinate systems. Alternatively, forexample only, the coordinates of the access points 404 may be determinedbased on the Global Positioning System (i.e., longitude/latitude). Forexample only, the access points 404 may each broadcast their coordinatesevery 100 milliseconds.

The client station 402 receives the coordinates of the access points404. The client station 402 determines a distance 406-1 between theclient station 402 and the access point 404-1 as described in FIG. 2.The client station 402 determines its location to be on a circle 408-1centered at the coordinates of the access point 404-1 with a radiusequal to the distance 406-1.

The client station 402 determines a distance 406-2 between the clientstation 402 and the access point 404-2 as described in FIG. 2. Theclient station 402 determines its location to be on a circle 408-2centered at the coordinates of the access point 404-2 with a radiusequal to the distance 406-2. The client station 402 determines adistance 406-3 between the client station 402 and the access point 404-3as described in FIG. 2. The client station 402 determines its locationto be on a circle 408-3 centered at the coordinates of the access point404-3 with a radius equal to the distance 406-3.

The client station 402 determines its exact location to be anintersection of the circles 408-1, 408-2, and 408-3 (referred tocollectively as circles 408). Alternatively, in another implementation,the one of the access points 404 determines the distances 406-1, 406-2,and 406-3 and determines the locations of the client station 402 to beon the circles 408. One of the access points 404 determines the exactlocation of the client station 402 to be the intersection of the circles408. In other words, either the client station 402 or one of the accesspoints 404 may determine the exact location of the client station 402using signal propagation delay.

Referring now to FIG. 6, a method 500 depicts exemplary steps performedby the control module 114 to locate the client station 402 using signalpropagation delay. Control starts in step 502. In step 504, thecoordinates of the access points 404 are determined.

In step 506, the distances 406 are determined. In step 508, thelocations of the client station 402 on the circles 408 are determinedbased on the coordinates of the access points 404 and the distances 406.In step 510, the exact location of the client station 402 is determinedbased on the intersection of the circles 408. Control ends in step 512.

Referring now to FIGS. 7A-7G, various exemplary implementationsincorporating the teachings of the present disclosure are shown.Referring now to FIG. 7A, the teachings of the disclosure can beimplemented in a wireless network interface 915 of a hard disk drive(HDD) 900. The HDD 900 includes a hard disk assembly (HDA) 901 and anHDD printed circuit board (PCB) 902. The HDA 901 may include a magneticmedium 903, such as one or more platters that store data, and aread/write device 904. The read/write device 904 may be arranged on anactuator arm 905 and may read and write data on the magnetic medium 903.Additionally, the HDA 901 includes a spindle motor 906 that rotates themagnetic medium 903 and a voice-coil motor (VCM) 907 that actuates theactuator arm 905. A preamplifier device 908 amplifies signals generatedby the read/write device 904 during read operations and provides signalsto the read/write device 904 during write operations.

The HDD PCB 902 includes a read/write channel module (hereinafter, “readchannel”) 909, a hard disk controller (HDC) module 910, a buffer 911,nonvolatile memory 912, a processor 913, and a spindle/VCM driver module914. The read channel 909 processes data received from and transmittedto the preamplifier device 908. The HDC module 910 controls componentsof the HDA 901 and communicates with an external device (not shown) viathe wireless network interface 915. The external device may include acomputer, a multimedia device, a mobile computing device, etc. Thewireless network interface 915 may include wireless communication links.

The HDC module 910 may receive data from the HDA 901, the read channel909, the buffer 911, nonvolatile memory 912, the processor 913, thespindle/VCM driver module 914, and/or the wireless network interface915. The processor 913 may process the data, including encoding,decoding, filtering, and/or formatting. The processed data may be outputto the HDA 901, the read channel 909, the buffer 911, nonvolatile memory912, the processor 913, the spindle/VCM driver module 914, and/or thewireless network interface 915.

The HDC module 910 may use the buffer 911 and/or nonvolatile memory 912to store data related to the control and operation of the HDD 900. Thebuffer 911 may include DRAM, SDRAM, etc. Nonvolatile memory 912 mayinclude any suitable type of semiconductor or solid-state memory, suchas flash memory (including NAND and NOR flash memory), phase changememory, magnetic RAM, and multi-state memory, in which each memory cellhas more than two states. The spindle/VCM driver module 914 controls thespindle motor 906 and the VCM 907. The HDD PCB 902 includes a powersupply 916 that provides power to the components of the HDD 900.

Referring now to FIG. 7B, the teachings of the disclosure can beimplemented in a wireless network interface 929 of a DVD drive 918 or ofa CD drive (not shown). The DVD drive 918 includes a DVD PCB 919 and aDVD assembly (DVDA) 920. The DVD PCB 919 includes a DVD control module921, a buffer 922, nonvolatile memory 923, a processor 924, a spindle/FM(feed motor) driver module 925, an analog front-end module 926, a writestrategy module 927, and a DSP module 928.

The DVD control module 921 controls components of the DVDA 920 andcommunicates with an external device (not shown) via the wirelessnetwork interface 929. The external device may include a computer, amultimedia device, a mobile computing device, etc. The wireless networkinterface 929 may include wireless communication links.

The DVD control module 921 may receive data from the buffer 922,nonvolatile memory 923, the processor 924, the spindle/FM driver module925, the analog front-end module 926, the write strategy module 927, theDSP module 928, and/or the wireless network interface 929. The processor924 may process the data, including encoding, decoding, filtering,and/or formatting. The DSP module 928 performs signal processing, suchas video and/or audio coding/decoding. The processed data may be outputto the buffer 922, nonvolatile memory 923, the processor 924, thespindle/FM driver module 925, the analog front-end module 926, the writestrategy module 927, the DSP module 928, and/or the wireless networkinterface 929.

The DVD control module 921 may use the buffer 922 and/or nonvolatilememory 923 to store data related to the control and operation of the DVDdrive 918. The buffer 922 may include DRAM, SDRAM, etc. Nonvolatilememory 923 may include any suitable type of semiconductor or solid-statememory, such as flash memory (including NAND and NOR flash memory),phase change memory, magnetic RAM, and multi-state memory, in which eachmemory cell has more than two states. The DVD PCB 919 includes a powersupply 930 that provides power to the components of the DVD drive 918.

The DVDA 920 may include a preamplifier device 931, a laser driver 932,and an optical device 933, which may be an optical read/write (ORW)device or an optical read-only (OR) device. A spindle motor 934 rotatesan optical storage medium 935, and a feed motor 936 actuates the opticaldevice 933 relative to the optical storage medium 935.

When reading data from the optical storage medium 935, the laser driverprovides a read power to the optical device 933. The optical device 933detects data from the optical storage medium 935, and transmits the datato the preamplifier device 931. The analog front-end module 926 receivesdata from the preamplifier device 931 and performs such functions asfiltering and A/D conversion. To write to the optical storage medium935, the write strategy module 927 transmits power level and timing datato the laser driver 932. The laser driver 932 controls the opticaldevice 933 to write data to the optical storage medium 935.

Referring now to FIG. 7C, the teachings of the disclosure can beimplemented in a wireless network interface 943 of a high definitiontelevision (HDTV) 937. The HDTV 937 includes an HDTV control module 938,a display 939, a power supply 940, memory 941, a storage device 942, thewireless network interface 943, and an external interface 945. Anantenna (not shown) may be included.

The HDTV 937 can receive input signals from the wireless networkinterface 943 and/or the external interface 945, which can send andreceive data via cable, broadband Internet, and/or satellite. The HDTVcontrol module 938 may process the input signals, including encoding,decoding, filtering, and/or formatting, and generate output signals. Theoutput signals may be communicated to one or more of the display 939,memory 941, the storage device 942, the wireless network interface 943,and the external interface 945.

Memory 941 may include random access memory (RAM) and/or nonvolatilememory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory, in which each memory cell has more than two states.The storage device 942 may include an optical storage drive, such as aDVD drive, and/or a hard disk drive (HDD). The HDTV control module 938communicates externally via the wireless network interface 943 and/orthe external interface 945. The power supply 940 provides power to thecomponents of the HDTV 937.

Referring now to FIG. 7D, the teachings of the disclosure may beimplemented in a wireless network interface 952 of a vehicle 946. Thevehicle 946 may include a vehicle control system 947, a power supply948, memory 949, a storage device 950, and the wireless networkinterface 952. An antenna (not shown) may be included. The vehiclecontrol system 947 may be a powertrain control system, a body controlsystem, an entertainment control system, an anti-lock braking system(ABS), a navigation system, a telematics system, a lane departuresystem, an adaptive cruise control system, etc.

The vehicle control system 947 may communicate with one or more sensors954 and generate one or more output signals 956. The sensors 954 mayinclude temperature sensors, acceleration sensors, pressure sensors,rotational sensors, airflow sensors, etc. The output signals 956 maycontrol engine operating parameters, transmission operating parameters,suspension parameters, etc.

The power supply 948 provides power to the components of the vehicle946. The vehicle control system 947 may store data in memory 949 and/orthe storage device 950. Memory 949 may include random access memory(RAM) and/or nonvolatile memory. Nonvolatile memory may include anysuitable type of semiconductor or solid-state memory, such as flashmemory (including NAND and NOR flash memory), phase change memory,magnetic RAM, and multi-state memory, in which each memory cell has morethan two states. The storage device 950 may include an optical storagedrive, such as a DVD drive, and/or a hard disk drive (HDD). The vehiclecontrol system 947 may communicate externally using the wireless networkinterface 952.

Referring now to FIG. 7E, the teachings of the disclosure can beimplemented in a wireless network interface 968 of a cellular phone 958.The cellular phone 958 includes a phone control module 960, a powersupply 962, memory 964, a storage device 966, and a cellular networkinterface 967. The cellular phone 958 may include the wireless networkinterface 968, a microphone 970, an audio output 972 such as a speakerand/or output jack, a display 974, and a user input device 976 such as akeypad and/or pointing device. An antenna (not shown) may be included.

The phone control module 960 may receive input signals from the cellularnetwork interface 967, the wireless network interface 968, themicrophone 970, and/or the user input device 976. The phone controlmodule 960 may process signals, including encoding, decoding, filtering,and/or formatting, and generate output signals. The output signals maybe communicated to one or more of memory 964, the storage device 966,the cellular network interface 967, the wireless network interface 968,and the audio output 972.

Memory 964 may include random access memory (RAM) and/or nonvolatilememory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory, in which each memory cell has more than two states.The storage device 966 may include an optical storage drive, such as aDVD drive, and/or a hard disk drive (HDD). The power supply 962 providespower to the components of the cellular phone 958.

Referring now to FIG. 7F, the teachings of the disclosure can beimplemented in a wireless network interface 985 of a set top box 978.The set top box 978 includes a set top control module 980, a display981, a power supply 982, memory 983, a storage device 984, and thewireless network interface 985. An antenna (not shown) may be included.

The set top control module 980 may receive input signals from thewireless network interface 985 and an external interface 987, which cansend and receive data via cable, broadband Internet, and/or satellite.The set top control module 980 may process signals, including encoding,decoding, filtering, and/or formatting, and generate output signals. Theoutput signals may include audio and/or video signals in standard and/orhigh definition formats. The output signals may be communicated to thewireless network interface 985 and/or to the display 981. The display981 may include a television, a projector, and/or a monitor.

The power supply 982 provides power to the components of the set top box978. Memory 983 may include random access memory (RAM) and/ornonvolatile memory. Nonvolatile memory may include any suitable type ofsemiconductor or solid-state memory, such as flash memory (includingNAND and NOR flash memory), phase change memory, magnetic RAM, andmulti-state memory, in which each memory cell has more than two states.The storage device 984 may include an optical storage drive, such as aDVD drive, and/or a hard disk drive (HDD).

Referring now to FIG. 7G, the teachings of the disclosure can beimplemented in a wireless network interface 994 of a mobile device 989.The mobile device 989 may include a mobile device control module 990, apower supply 991, memory 992, a storage device 993, the wireless networkinterface 994, and an external interface 999. An antenna (not shown) maybe included.

The mobile device control module 990 may receive input signals from thewireless network interface 994 and/or the external interface 999. Theexternal interface 999 may include USB, infrared, and/or Ethernet. Theinput signals may include compressed audio and/or video, and may becompliant with the MP3 format. Additionally, the mobile device controlmodule 990 may receive input from a user input 996 such as a keypad,touchpad, or individual buttons. The mobile device control module 990may process input signals, including encoding, decoding, filtering,and/or formatting, and generate output signals.

The mobile device control module 990 may output audio signals to anaudio output 997 and video signals to a display 998. The audio output997 may include a speaker and/or an output jack. The display 998 maypresent a graphical user interface, which may include menus, icons, etc.The power supply 991 provides power to the components of the mobiledevice 989. Memory 992 may include random access memory (RAM) and/ornonvolatile memory.

Nonvolatile memory may include any suitable type of semiconductor orsolid-state memory, such as flash memory (including NAND and NOR flashmemory), phase change memory, magnetic RAM, and multi-state memory, inwhich each memory cell has more than two states. The storage device 993may include an optical storage drive, such as a DVD drive, and/or a harddisk drive (HDD). The mobile device may include a personal digitalassistant, a media player, a laptop computer, a gaming console, or othermobile computing device.

Those skilled in the art can now appreciate from the foregoingdescription that the broad teachings of the disclosure can beimplemented in a variety of forms. Therefore, while this disclosureincludes particular examples, the true scope of the disclosure shouldnot be so limited since other modifications will become apparent to theskilled practitioner upon a study of the drawings, the specification,and the following claims.

1. A wireless network device, comprising: a first RF transceiver moduleconfigured to for a predetermined number of times, transmit a data frameto a second RF transceiver module, and for each data frame transmittedto the second RF transceiver module, receive an acknowledgement framefrom the second RF transceiver module after a respective delay period; atiming module configured to generate a timer value corresponding to anaccumulated delay period, wherein the accumulated delay periodcorresponds to each of the respective delay periods; and a controlmodule configured to determine the predetermined number of times thatthe first RF transceiver transmitted the data frame to the second RFtransceiver based on a resolution of the timing module, and determine anactual delay period based on (i) the timer value and (ii) thepredetermined number of times.
 2. The wireless network device of claim1, wherein the control module is configured to determine thepredetermined number of times that the first RF transceiver transmittedthe data frame to the second RF transceiver further based on a maximumerror of the actual delay period, wherein the maximum error correspondsto a ratio of the resolution to the predetermined number of times. 3.The wireless network device of claim 2, wherein the control module isconfigured to determine the predetermined number of times based on acomparison between the maximum error and a predetermined value.
 4. Thewireless network device of claim 1, wherein the control module isconfigured to determine the actual delay period further based on i) adata receiving period associated with the second RF transceiver modulereceiving the data frames, ii) an ACK period associated withtransmitting the ACK frames, and iii) a short interframe space (SIFS)time.
 5. The wireless network device of claim 4, wherein the datareceiving period, the ACK period, and the SIFS time are calibrated for aknown distance between the first RF transceiver module and the second RFtransceiver module.
 6. The wireless network device of claim 5, whereinthe predetermined number of times is calibrated for the known distance.7. The wireless network device of claim 1, wherein the control module isconfigured to determine an error percentage of the actual delay periodcaused by the resolution of the timing module.
 8. The wireless networkdevice of claim 1, wherein the control module is configured to determinea distance between the first RF transceiver module and the second RFtransceiver module based on the actual delay period.
 9. The wirelessnetwork device of claim 1, wherein the control module is configured todetermine a location of the wireless network device based on i) theactual delay period, ii) coordinates of a second wireless network deviceassociated with the second RF transceiver module, and iii) coordinatesof at least one third wireless network device.
 10. A method foroperating a wireless network device, the method comprising: for apredetermined number of times, transmitting a data frame from a first RFtransceiver module to a second RF transceiver module; for each dataframe transmitted to the second RF transceiver module, the first RFtransceiver receiving an acknowledgement frame from the second RFtransceiver module after a respective delay period; generating a timervalue corresponding to an accumulated delay period, wherein theaccumulated delay period corresponds to each of the respective delayperiods; and determining the predetermined number of times based on aresolution associated with the timer value; and determining an actualdelay period based on (i) the timer value and (ii) the predeterminednumber of times.
 11. The method of claim 10, further comprisingdetermining the predetermined number of times further based on a maximumerror of the actual delay period, wherein the maximum error correspondsto a ratio of the resolution to the predetermined number of times. 12.The method of claim 11, further comprising determining the predeterminednumber of times based on a comparison between the maximum error and apredetermined value.
 13. The method of claim 10, further comprisingdetermining the actual delay period further based on i) a data receivingperiod associated with the second RF transceiver module receiving thedata frames, ii) an ACK period associated with transmitting the ACKframes, and iii) a short interframe space (SIFS) time.
 14. The method ofclaim 13, further comprising calibrating the data receiving period, theACK period, and the SIFS time for a known distance between the first RFtransceiver module and the second RF transceiver module.
 15. The methodof claim 14, further comprising calibrating the predetermined number oftimes for the known distance.
 16. The method of claim 10, furthercomprising determining an error percentage of the actual delay periodcaused by the resolution of the timing module.
 17. The method of claim10, further comprising determining a distance between the first RFtransceiver module and the second RF transceiver module based on theactual delay period.
 18. The method of claim 10, further comprisingdetermining a location of the wireless network device based on i) theactual delay period, ii) coordinates of a second wireless network deviceassociated with the second RF transceiver module, and iii) coordinatesof at least one third wireless network device.